package com.ice.service;

import java.util.ArrayList;

import org.ice.entity.ReceiveXmlEntity;

/**
 * 
 * @author gangchaopan
 *
 */
public interface WeChatService {
  
	/**
    * 开发者通过检验signature对请求进行校验（下面有校验方式）。若确认此次GET请求来自微信服务器，
    * 请原样返回echostr参数内容，则接入生效，成为开发者成功，否则接入失败。
    * @param parameter
    * @return
    */
	public boolean checkSignature(ArrayList<String> parameter,String signature);
	

	
	/**
	 * 处理发送的文本信息
	 * @param xml
	 * @return
	 */
	public ReceiveXmlEntity processWeChatMessage(String xml);
	
	/**
	 * access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时，需定时刷新，重复获取将导致上次获取的access_token失效。
	 * @return
	 */
	public String getAccessToken();
	
	/**
	 * 接收方帐号（收到的OpenID）
	 * 通过code获取用户的openid
	 * @return
	 */
	public String getOpenId(String code);
	/**
	 * 通过code获取网页授权access_token
	 * @param code  微信返回的code
	 * @return
	 */
	
	public String getWebAuthorAccessToken(String code);

	/**
	 * @category 检验授权凭证（access_token）是否有效
	 * @param accessToken 网页授权接口调用凭证,注意：此access_token与基础支持的access_token不同
	 * @param openid 用户的唯一标识
	 * @return 返回access_token是否失败
	 */
	public boolean checkWebAuthorAccessToken(String accessToken,String openid);
   
}
